# TODO: migrate to proxy headers
add_object_library(
  file
  SRCS
    file.cpp
  HDRS
    file.h
    lseekImpl.h
  DEPENDS
    libc.hdr.fcntl_macros
    libc.include.sys_syscall
    libc.include.sys_stat
    libc.src.__support.CPP.new
    libc.src.__support.OSUtil.osutil
    libc.src.errno.errno
    libc.src.__support.error_or
    libc.src.__support.File.file
    libc.hdr.types.off_t
    libc.hdr.types.FILE
    libc.hdr.stdio_macros
)

add_object_library(
  stdout
  SRCS
    stdout.cpp
  DEPENDS
    .file
    libc.hdr.types.FILE
    libc.hdr.stdio_macros
)

add_object_library(
  stdin
  SRCS
    stdin.cpp
  DEPENDS
    .file
    libc.hdr.types.FILE
    libc.hdr.stdio_macros
)

add_object_library(
  stderr
  SRCS
    stderr.cpp
  DEPENDS
    .file
    libc.hdr.types.FILE
    libc.hdr.stdio_macros
)

add_object_library(
  linux_dir
  SRCS
    dir.cpp
  DEPENDS
    libc.hdr.fcntl_macros
    libc.include.sys_syscall
    libc.src.__support.OSUtil.osutil
    libc.src.__support.error_or
    libc.src.errno.errno
    libc.src.__support.File.dir
)
